package com.tiantianfresh.admin.util;

import org.apache.commons.io.FilenameUtils;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

@Controller
@RequestMapping("/Download")
public class Download {
    /**
     * 文件上传
     *
     * @param name    图片名称
     * @param path    下载绝对路径
     * @param attach1 文件
     * @return
     */
    @RequestMapping("/upload")
    @ResponseBody
    public Object upload(String name, String path, HttpServletRequest request, @RequestParam(value = "file", required = false) MultipartFile attach1) {
        /**
         * 项目本地路径
         */
        String uploadFile = null;
        //判断文件是否为空
        if (attach1 != null && !attach1.isEmpty()) {
            //1、绝对路径
            //2、构造文件名
            String oldFileName = attach1.getOriginalFilename();//原文件名
            String suffix = FilenameUtils.getExtension(oldFileName);//原文件后缀
            //4、重新命名保存到服务器上的文件
            String fileName = name + "." + "jpg";
            //6、通过保存路径和文件名称，整合一个 File
            File targetFile = new File(path, fileName);
            //uploadFile = path+File.separator+fileName;
            //System.out.println("uploadFile=====>"+uploadFile);
            if (!targetFile.exists()) {
                targetFile.mkdirs();
            }
            //7、保存
            try {
                attach1.transferTo(targetFile);
            } catch (Exception e) {
                e.printStackTrace();
                /**
                 * 上传失败
                 */
                return false;
            }
        }
        return true;
    }
    /**
     * 删除图片文件
     * */
    @RequestMapping("/delFile")
    @ResponseBody
    public Object delFile(String path){
        File file = new File(path);
        //判断文件是否存在
        if (file.exists() == true){
            Boolean flag = false;
            flag = file.delete();
            /**
             * 删除成功
             */
            if (flag){
                return true;
            }else {
                return false;
            }
        }else {
            return false;
        }
    }
}
